博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
图片上传的第二种形式
阅读量:6621 次
发布时间:2019-06-25

本文共 2964 字,大约阅读时间需要 9 分钟。

之前有说了一种以base64的图片上传形式,这次来说说另外一种,其实很简单,很早以前都是在form提交的时候再controller中处理,现在基本不会这么做,都是通过ajax来实现异步上传的

首先需要引入jquery.ui.widget.js以及jquery.fileupload.js这两个js,

HTML代码:

构建js对象并且初始化:

$('#idcardImageNegativeUpload').fileupload({            dataType: 'json',            done: function (e, data) {                console.log(data);                                  if (data.result.status != "200") {                    alert("图片大小不能超过2M...");                } else {                    $.each(data.result.data, function (index, file) {                      $("#idcardImageNegativeContent").html("");                      $("#idcardImageNegative").attr("value", file.urlDB);                  });                 }            },                    change: function (e, data) {                var size = data.files[0].size;                            if((size / 1024 / 1024) > 2) {                    alert("图片大小不能超过2M...");                    return false;                }               }        });

后台controller以及service处理,需要调用fastdfs客户端上传

@RequestMapping(value="/upload", method = RequestMethod.POST)    @ResponseBody    public LeeJSONResult upload(MultipartHttpServletRequest request, HttpServletResponse response) throws Exception {        List
picList = new ArrayList
(); Iterator
itr = request.getFileNames(); MultipartFile mpf = null; while (itr.hasNext()) { mpf = request.getFile(itr.next()); PictureResult pic = pictureService.uploadPic(mpf); picList.add(pic); } return LeeJSONResult.ok(picList); }
@Override    public PictureResult uploadPic(MultipartFile picFile) {        PictureResult result = new PictureResult();        // 判断图片是否为空        if (picFile.isEmpty()) {            result.setError(YesOrNo.YES.value);            result.setMessage("图片为空");            return result;        }        // 上传到图片服务器        try {            // 取图片扩展名            String originalFilename = picFile.getOriginalFilename();            // 取扩展名不要“.”            String extName = originalFilename.substring(originalFilename.lastIndexOf(".") + 1);            FastDFSClient client = new FastDFSClient("classpath:resource/client.conf");            String url = client.uploadFile(picFile.getBytes(), extName);            // 把url响应给客户端            result.setError(YesOrNo.NO.value);            result.setUrlDB(url);            result.setUrl(IMAGE_SERVER_BASE_URL + url);        } catch (Exception e) {            e.printStackTrace();            result.setError(YesOrNo.YES.value);            result.setMessage("图片上传失败");        }        return result;    }

​上传的效果如此,最后通过上传后的路径,直接使用form序列化再提交保存到数据库中即可

 

最近实在很忙,时间很碎片化,一方面公司的产品急着做,另一方面又在做自己的产品以及一套开源权限,同时又在着手准备开公司的事情,所以在文章更新的频率上放缓了脚步,希望大家谅解,等事情告一段落后给大家每人发个红包(限公众号粉丝)哈~!

 

转载地址:http://sjnpo.baihongyu.com/

你可能感兴趣的文章
使用 Excel Services ,结合 Analysis Services 在 SharePoint 中发布报表
查看>>
SQL Server数据导入导出技术概述与比较
查看>>
format的用法
查看>>
DHCPv6 server port and DHCPv6 client port
查看>>
BitmapFactory.Options避免 内存溢出 OutOfMemoryError的优化方法
查看>>
Python中通过Image的open之后,去show结果打不开bmp图片,无法正常显示图片
查看>>
DNGuard 免费的DotNet加密保护工具 V1.0
查看>>
编程中的命名设计
查看>>
easyui form validate总是返回false原因
查看>>
在(CListView)列表视图中添加右键菜单的方法
查看>>
自定义服务器控件(处理不同的浏览器)
查看>>
解决IE6-IE7下li上下间距
查看>>
聚集索引更新后会不会马上重新排序
查看>>
幸运大抽奖
查看>>
Post请求
查看>>
labview 中activex的初步使用方法
查看>>
JSP与JavaBeans
查看>>
解决Android中TextView首行缩进的问题
查看>>
oracle 查询哪些表分区
查看>>
Java排序算法(三):直接插入排序
查看>>